# 1.通过位置（下标）找元素
# 定义变量
info = "abcdefg"
print(info[2])
print(info[-2])

# 2.通过元素找位置（下标）
# 字母e在哪个位置？
print(info.find("e"))
# 字母k在哪个位置？
print(info.find("k"))# 如果找不到返回


#字符串替换
# 定义字符串
info= "张飞同学被称为世界上最厉害的90后，张飞真棒"
# 使用字符串（替换）
info1 = info.replace("张飞","王越")
print(info1)
print(info)
# 结论：
# 字符串不可变数据类型，进行替换操作之后，原有的字符串不发生变化

# 字符串的连接
# 语法格式：连接字符.join(列表/元组/集合)
# 定义变量
info = ['Python','Java','PHP']
num = [11,22,33]
# 连接
info1 = " and ".join(info)
print(info1)
print(type(info1))
# print("‐".join(num)) # 序列中如果不是字符元素，报错TypeError: sequence item 0: expected str instance, int found
# 结论：
# 通过连接字符将列表/元组/集合对应字符元素才能连接成字符串


# 字符串拆分🏴
# 应用场景：将字符串按照指定的字符拆分为列表，方便获取指定数据
# 语法格式： 字符串名.split(分割符)
# 注意事项：
# 字符串拆分之后的结果为列表，按照指定分割符分割
# 如果不输入分割符，默认按照字符串中的空格分割


# 定义SQL语句变量
sql = "SWLECT * FROM STUDENTS WHERE ID = 001"
print(sql.split())  # 结果类型是列表
# 在上述基础上把每个单词打印出来？
for i in sql.split():   # 对应容器中元素的获取直接使用for循环即可
    print(i)
# 上述SQL按照where拆分出来
print(sql.split("where")) # 括号里面的字符叫分隔符

# 总结
# 1.通过split拆分后，结果是列表类型
# 2.如果split中不输入分隔符，默认按照空格拆分




# 字符串其他操作
# 字符串中字母大小写转换
# 转大写： 字符串.upper()
# 转小写： 字符串.lower()
# 判断是否是字母/数字【注意：字符串中不能出现空格】
# 判断是字母： 字符串.isalpha()
# 判断是数字： 字符串.isdigit()
# 判断某个字符出现的次数： 字符串.count("字符")
# 字符串两头去除空格
phone = "   13766543434   "
print(phone)
print(phone.split())
# 2.大小写转换
# 转大写：字符串.upper()
# 转小写：字符串.lower()
# 定义SQL语句变量
sql = "SelECt * from students where id = 001;"
# 判断是否是查询（select是否存在）
if "select" in sql.lower():
    print("显示查询结果")
else:
    print("非查询")
# 输入手机号、密码、验证码,并且去除两头空格
username = input("请输入手机号：").strip()
password = input("请输入密码：").strip()
code = input("请输入验证码：").strip()
# 判断,是否为空
if username == "":
    print("手机号不能为空")
if password == "":
    print("密码不能为空")
if code == "":
    print("验证码不能为空")
# 手机号格式不正确【长度不正确、类型不正确】 ‐‐>
# 长度：len(变量名)
